Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(item-update): visibility of range spanning items not always correct #1846

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ChristianKrebel
Copy link

Items starting before the visible range and ending after it were not always shown if zoomed in too much because of the binary search used for it. I tried to fix the conditions but I could not get it to work with a binary search (maybe someone has a better way?). Also, different approaches like spatial index logic fixed the problem but did not improve performance. So I kept it simple and removed the binary search case for items that have an end time and always brute force check them for visibility. This may worsen performance when having many items with end times but in my manual testing (private repo) it is not performant either way.

Question: Should we make this fix optional per config because it may have a bigger impact?

Module: timeline/component/group

Fixes #1657

Remove binary search for items having an end time because items starting before range and ending after it were left out.

Fixes visjs#1657
@@ -813,7 +813,7 @@ class Group {
*/
_resetSubgroups() {
for (const subgroup in this.subgroups) {
if (this.subgroups.hasOwnProperty(subgroup)) {
if (Object.prototype.hasOwnProperty.call(this.subgroups, subgroup)) {
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not related to the fix but the pre-commit-hook did not let me commit without fixing it because it lints the whole file instead of only the changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Long items disappear from group if data are set
1 participant